package com.xxy.partnermatch.utils;

import com.xxy.partnermatch.common.BaseResponse;
import com.xxy.partnermatch.model.enums.ErrorCode;

/**
 * ClassName: ResultUtils
 * Package: com.xxy.usercenter.utils
 * Description: 操作成功返回工具类
 *
 * @Author 十一
 * @Create 2024/11/14 16:16
 * @Version 1.0
 */
public class ResultUtils {

    /**
     * 操作成功
     * @param data 返回内容
     * @return
     * @param <T> 返回值类型
     */
    public static <T> BaseResponse<T> success(T data) {
        return new BaseResponse<>(200, data, "请求成功");
    }

    /**
     * 操作失败
     * @param errorCode 错误码
     * @return
     * @param <T> 返回值类型
     */
    public static <T> BaseResponse<T> error(ErrorCode errorCode) {
        return new BaseResponse<>(errorCode);
    }

    /**
     * 操作失败
     * @param errorCode 错误码
     * @param message 错误信息
     * @param description 错误信息准确描述
     * @return
     * @param <T> 返回值类型
     */
    public static <T> BaseResponse<T> error(ErrorCode errorCode, String message, String description) {
        return new BaseResponse<>(errorCode.getCode(), null, message, description);
    }

    /**
     * 操作失败
     * @param code 错误码
     * @param message 错误信息
     * @param description 错误信息准确描述
     * @return
     * @param <T> 返回值类型
     */
    public static <T> BaseResponse<T> error(int code, String message, String description) {
        return new BaseResponse<>(code, null, message, description);
    }

}
